// pages/profile/index.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {
      nickName: '',
      avatar: '',
    },
  },
  onShow() {
    this.getUserInfo()
  },
  async getUserInfo() {
    if (!getApp().token) return
    const { code, data } = await wx.http.get('./userInfo')
    if (code !== 10000) return wx.utils.toast('用户信息获取失败')
    this.setData({ userInfo: data })
  },
  // 失去焦点时调用，上传用户名称
  getUserNickName(ev) {
    console.log(ev)
    this.updateNickName(ev.detail.value)
  },
  async updateNickName(nickName) {
    const res = await wx.http.put('/userInfo', { nickName })
    // 检测接口返回数据
    if (res.code !== 10000) return wx.utils.toast('更新失败，请重试')
    // 记录用户的名称
    this.setData({ 'userInfo.nickName': nickName })
  },
  getUserAvatar(ev) {
    console.log(ev)
    this.setData({ 'userInfo.avatar': ev.detail.avatarUrl })
    // 把本地头像传入服务器
    this.updateUserAvatar(ev.detail.avatarUrl)
  },
  /**上传用户头像 */
  updateUserAvatar(avatarUrl) {
    wx.uploadFile({
      filePath: avatarUrl,
      name: 'file',
      url: wx.http.baseURL + '/upload',
      header: {
        Authorization: getApp().token,
      },
      formData: {
        type: 'avatar',
      },
      success: (res) => {
        // 将JSON字符串转换为对象
        const data = JSON.parse(res.data)
        //保存图片地址
        this.setData({ 'userInfo.avatar': data.data.url })
      },
    })
  },
})
